package com.vcg.community.common.base;

import java.util.List;
import java.util.Map;

public interface BaseService<T> {
	/**
	 * Json 新增业务
	 */
	public Integer insertByJson(String json);

	/**
	 * 获取所有对象,转换成json
	 * 
	 * @return
	 */
	public String getAllToJson();

	/**
	 * 根据id获取对象,转换成json
	 * 
	 * @param id
	 * @return
	 */
	public String getByIdToJson(Integer id);

	/**
	 * 根据条件获取对象,转换Json字符串
	 * 
	 * @param map
	 * @return
	 */
//	public String getByJsonCondition(String json);


	/**
	 * 根据json条件统计总条数
	 */
//	public String countByConditionToJson(String json);

	/**
	 * 根据条件分页,转换成json
	 */
//	public String getResultWithPageToJson(String json);

	/**
	 * 统计总条数,转换json
	 * 
	 * @return
	 */
//	public String countToJson();

	/**
	 * 执行sql 转换json
	 * 
	 */
//	public String executeSqlToJson(String sql);

	/**
	 * 新增业务
	 */
	public Integer insert(T t);

	/**
	 * 获取所有对象
	 * 
	 * @return
	 */
	public List<T> getAll();

	/**
	 * 根据id获取对象
	 * 
	 * @param id
	 * @return
	 */
	public T getById(Integer id);

	/**
	 * 根据条件获取对象
	 * 
	 * @param map
	 * @return
	 */
//	public List<T> getByMapCondition(Map<String, Object> map);

	/**
	 * 根据条件分页
	 */
//	public List<T> getResultWithPage(Map<String, Object> map);

	/**
	 * 统计总条数
	 * 
	 * @return
	 */
//	public Long count();

	/**
	 * 根据条件 统计总条数
	 * 
	 * @return
	 */
//	public Long countByCondition(Map<String, Object> map);

	/**
	 * 执行sql
	 * 
	 */
//	public List<Map<String, Object>> executeSql(String sql);

	/**
	 * 更新
	 */
	public Integer update(T t);

}
